package persistencia;

import java.sql.Connection;
import java.sql.SQLException;
import oracle.jdbc.pool.OracleDataSource;

class BancoDados
{
    private OracleDataSource fonteDados;
    private static BancoDados instancia;

    public static BancoDados getInstancia()
    {
        if (instancia == null)
            instancia = new BancoDados();
        
        return instancia;
    }
    
    private BancoDados()
    {
        try
        {
            fonteDados = new OracleDataSource();
            fonteDados.setURL("jdbc:oracle:thin:@//localhost:1521");
        }
        catch (SQLException ex)
        {
            // LOGGAR EXCEÇÃO
        }
    }
    
    public Connection getConexaoPadrao()
    {
        return getConexao("CLUBE_ARTESANATO_TESTE", "CLUBE_ARTESANATO_TESTE");
    }
    
    public Connection getConexao(String usuario, String senha)
    {
        Connection conexao = null;
        
        try
        {
            fonteDados.setUser(usuario);
            fonteDados.setPassword(senha);
            
            conexao = fonteDados.getConnection();
            conexao.setAutoCommit(false);
        }
        catch (SQLException ex)
        {
            // LOGGAR EXCEÇÃO
        }
        
        return conexao;
    }
}